Many systems (such as circuits) have an array of similar components (often referred to as “unit elements”) that are ideally identical. The type of unit element will depend typically on the nature of the system itself. Such elements might be, for example, a capacitor, a resistor, an inductor, a transistor, or any other dynamic component, or any combination of such components. Although designed to have ideally identical performance and dimensions, imperfect fabrication processes result in some component mismatch between unit elements.
Some systems are sensitive to such mismatch. For instance, some systems repeatedly use a subset of the total number of unit elements for multiple iterations, where the number of unit elements used may differ from one iteration to the next. In such systems, the effects of component mismatch may be reduced by, for example, using the same unit element approximately the same number of times as time moves forward from iteration to iteration.
An example of such a system is a feedback Digital-to-Analog Converter (DAC) of high resolution sigma-delta Analog-to-Digital Converters (ADCs). In multi-bit DACs, component mismatches leads to differences in the step size between successive DAC output levels. Any non-linearity in the feedback DAC of a sigma-delta modulator adds directly to the modulator input. Accordingly, the matching precision of the DAC unit elements should be on the same order as the overall precision of the sigma-delta ADC.
Non-linearity in multi-bit feedback DACs is a well-known phenomenon. Many techniques to reduce this non-linearity exist. The most basic solution is to use a 1-bit DAC. Since a 1-bit DAC has only two output levels, its linearity is guaranteed. However, 1-bit DACs are susceptible to overload and for a given over-sampling ratio, they reduce the Signal-to-Noise Ratio (SNR) below what would be possible with a multi-bit DAC.
Because multi-bit DACs provide many advantages over their 1-bit counterparts, many dynamic element matching algorithms have been invented that shape the spectrum of DAC mismatch noise and move a large part of that noise outside of the signal band. While such techniques reduce the DAC mismatch noise that is contained in the signal band, they often either raise the thermal noise floor or are susceptible to inducing idle tones inside the signal band. Idle tones are noise spikes that are visible in the system's output frequency spectrum. These noise spikes, which reduce the system SNR if they are within the signal band of interest, are generated when the unit components are used in a periodic fashion.
One method to eliminate the idle tones is to randomly select the unit components. Since the unit components are not used in a periodic fashion, idle tones are eliminated. Unfortunately, pure randomization converts the DAC mismatch noise into white noise which raises the noise floor and reduces the system SNR.